﻿namespace Maple.Weixin.MP.Entities.Messages
{
    public abstract class RequestMessageVisitor<T>
    {
        public abstract T Visit(RequestMessageEventClick requestMessage);

        public abstract T Visit(RequestMessageEventLocation requestMessage);

        public abstract T Visit(RequestMessageEventScan requestMessage);

        public abstract T Visit(RequestMessageEventSubscribe requestMessage);

        public abstract T Visit(RequestMessageEventUnsubscribe requestMessage);

        public abstract T Visit(RequestMessageEventView requestMessage);

        public abstract T Visit(RequestMessageImage requestMessage);

        public abstract T Visit(RequestMessageLink requestMessage);

        public abstract T Visit(RequestMessageLocation requestMessage);

        public abstract T Visit(RequestMessageText requestMessage);

        public abstract T Visit(RequestMessageVideo requestMessage);

        public abstract T Visit(RequestMessageVoice requestMessage);

        //public abstract T Visit(RequestMessageEventTemplateSendJobFinish requestMessage);
    }
}
